package com.example.demo.msg.tio.server;

import com.example.demo.msg.tio.utils.TioContents;
import org.tio.server.ServerGroupContext;
import org.tio.server.TioServer;
import org.tio.server.intf.ServerAioHandler;
import org.tio.server.intf.ServerAioListener;

import java.io.IOException;

public class HelloServerStart {

    //handler, 包括编码、解码、消息处理
    public static ServerAioHandler aioHandler = new HelloServerAioHandler();

    //事件监听器，可以为 null，但建议自己实现该接口，可以参考 showcase 了解些接口
    public static ServerAioListener aioListener = null;

    //一组连接共用的上下文对象
    public static ServerGroupContext serverGroupContext = new
            ServerGroupContext("hello-tio-server", aioHandler, aioListener);

    //aioServer 对象
    public static TioServer aioServer = new TioServer(serverGroupContext);
    //有时候需要绑定 ip，不需要则 null
    public static String serverIp = null;
//监听的端口

    public static int serverPort = TioContents.PORT;
    /**
     * 启动程序入口
     */
    public static void main(String[] args) throws IOException {
        serverGroupContext.setHeartbeatTimeout(TioContents.TIMEOUT);
        aioServer.start(serverIp, serverPort);
    }
}